package com.atguigu.juc.study.chapter12.syncup;

/**
 * 锁粗化：
 *     加入方法中首尾相接，前后相邻的都是同一个锁对象，那JIT编译器就会把这几个synchronized块合成一个大块，加粗加大范围，
 *     一次申请锁使用即可，避免次次的申请和释放锁，提升了性能
 *
 * @author : leimingchao
 * @date Date : 2022年06月21日 0:13
 */
public class LockBigDemo {

    static Object object = new Object();

    public static void main(String[] args) {

        new Thread(() -> {

            synchronized (object) {
                System.out.println("111111");
            }

            synchronized (object) {
                System.out.println("222222");
            }

            synchronized (object) {
                System.out.println("333333");
            }

            synchronized (object) {
                System.out.println("444444");
            }

            //锁粗化
            synchronized (object) {
                System.out.println("111111");
                System.out.println("222222");
                System.out.println("333333");
                System.out.println("444444");
            }
        }, "t1").start();
    }
}
